编译 nginx

编译 nginx

1 在 mac 上面编译

./configure --with-debug --with-cc=/usr/bin/cc --with-cc-opt='-O0 -g' --prefix="/Users/wudanyang/workspace/reading-code-of-nginx-1.9.2/nginx-compile" --with-stream

在 vagrant 上面编译

在 vagrant 上面安装
./configure \
--with-debug \
--with-cc=/usr/bin/cc \
--with-cc-opt='-O0 -g' \
--prefix="/vagrant/reading-code-of-nginx-1.9.2/nginx-compile/" \
--with-stream \
--with-file-aio

./configure \
--with-debug \
--with-cc=/usr/bin/cc \
--with-cc-opt='-O0 -g' \
--prefix="/mnt/mydisk/var/nginx" \
--with-stream \
--with-file-aio

安装 pcre 库,http rewrite module 需要使用

sudo apt-get install libpcre3 libpcre3-dev

make

make install

2 树莓派上面编译

auto/configure --prefix=/home/ubuntu/mydisk/var/nginx-debug-1 --with-http_v2_module --with-http_ssl_module

2.1 编译时遇到的报错

2.1.1 implicit fallthrough error

linux下编译nginx1.0.15报错:Implicit fallthrough error
这里写图片描述
CFLAGS表示编译的可选参数,我们只需要在后面加上**-Wno-implicit-fallthrough**,即可忽略gcc7编译时switch-case中缺少break的错误。

2.1.2 'struct crypt_data' has no member named 'current_salt'

编译nginx时struct crypt_data’没有名为‘current_salt’的成员:cd.current_salt[0] = ~salt[0];的解决方案
在源码中注释掉那行代码

2.1.3 cast between incompatible function types

cast function type
https://github.com/SELinuxProject/setools/issues/2
-Wno-cast-function-type


本站总访问量次 本站访客数人次 本文总阅读量